if (!window.R) {
    window.R = {
        // pop-up window
        alert: {
            title: {
                'error': 'Error',
                'warn': 'Warn',
                'prompt': 'Prompt',
                'info': 'Info',
                'success': 'Success'
            },
            button: {
                'ok': 'ok',
                'cancel': 'cancel',
                'yes': 'yes',
                'no': 'no',
                'save': 'save',
                'rollBack': 'withdraw'
            }
        },
        // block-user-js
        block: {
            user: {
                lock: 'Are you sure lock user "<strong>${name}</strong>"?',
                unlock: 'Are you sure unlock "<strong>${name}</strong>"?'
            }
        },
        <!--cert-write-js-->
        cert: {
            write: {
                'alert-delete-confirm': 'Are you sure to delete this certificate?',
                'alert-delete-warn': '${common.undo}',
                client: {
                    name: {
                        'length': 'It cannot be longer than 64 characters',
                        'regExp': 'It cannot contain special characters!',
                        'exist': 'The Certificate name already exists'
                    },
                    'cert': 'This file type is not accepted, please upload the file with "pkcs12", "p12" format'
                },
                'ca-cert-type': 'This file type is not accepted, please upload the file with "jks" format',
                'is-not-null': 'It cannot be empty',
                'length': 'It cannot be longer than 64 characters',
                'add-success': 'Added successfully',
                'cert-exist': 'The Certificate already exists',
                'cert-load-error': 'Certificate failed to load!'
            }
        },

        common:{undo:'It cannot be recalled!'},

        // device-list-write-js
        device: {
            list: {
                'imei-inValid': 'Invalid IMEI number！',
                device: {
                    delete: {
                        'confirm': 'Are you sure you want to delete the device?',
                        'title': '?',
                        'warn': '${common.undo}',
                        'pending': 'pending!',
                        'Expired': 'Expired!',
                        'success': 'Device deleted successfully!',
                        'error': 'Device deletion failed!'
                    },
                    'exist': 'Device already exists'
                },
                'upload-file-info': 'This file type is not accepted, please upload the file with "json", "xlsx", "xls" format',
                'processing': 'Processing ---',
                'import-execl-No': 'No.',
                'execl-info': 'Line: [data does not meet the rules]',
                'add-error': 'add failed!',
                'add-success': 'Device added successfully!',
                'import-total': 'Total',
                'import-success': 'Success',
                'import-error': 'fail',
                'add-Expired': 'Operation timed out',
                'add-gateway-error': 'Add failed, please check if the gateway information is correct',
                'select': '-- Please select --',
                'format-error': 'The format is wrong, please check the contents of the file.'
            },
            command: {
                'isNot-empty':'The argument cannot be empty',
                'alert-warn-info':'You are sure you want to send',
                'alert-warn-end':'?',
                'send-success':'Send success',
                'send-error':'Send failure'
            }
        },
        <!--gateway-list-js-->
        gateway: {
            list: {
                'id-format-error': 'Please enter with correct format',
                'id-exist': 'Gateway id already exists',
                'ip-inValid': 'Invalid IP address',
                'delete-warn': 'Are you sure you want to delete this gateway?',
                'delete-error': 'Deletion failed',
                'sub-error': 'Subscription/unsubscription failed, please contact --- In fact, no one can help when this fails.',
                'conn-error': 'Connection failed: incorrect parameters',
                'add-gateway': 'New gateway',
                'url-inValid': 'Invalid URL',
                'id-format': 'Please enter the number with correct format',
                'name-format': 'Gateway name cannot contain special characters',
                'group-name-format': 'Group name cannot contain special characters',
                'name-exist': 'Gateway name already exists',
                'group-name-exist': 'Group name already exists',
                'appId-format': 'APP ID cannot contain special characters',
                'appId-exist': 'APP ID already exists',
                'appSecret-format': 'APP Secret cannot contain special characters'
            }
        },
        <!--header-js-->
        header: {
            'loginOut-prompt': 'Are you sure to log out?',
            'password-is-null': 'Please enter the current password',
            'new-password': 'Please enter a new password',
            'new-password-length': 'Password length should be 6~16 digits',
            'new-password-mismatching': 'The passwords entered do not match',
            'new-password-edit-success': 'Password reset successfully',
            'new-password-edit-mismatching': 'Passwords do not match'

        },
        <!--lib-js-->
        lib: {
            'error-code-404': 'The resource requested does not exist!',
            'error-code-500': 'Internal System Error！',
            'error-code-400005': 'Your session has timed out, please log back in to the system!',
            'error-code-400006': 'You do not have permission to use this feature!'
        },
        <!--login-js-->
        login: {
            'error-code-10000001': 'You tried to log in so many times that the user has been locked, please contact the administrator!',
            'error-code-10000002': 'Your IP address is forbidden to log in',
            'error-code-20000002': 'User has been locked, please contact the administrator',
            'login-error-code-default': 'Account or password does not match'
        },
        <!--profile-js-->
        profile: {
            'device-man': 'Device manufacturer',
            'device-type': 'Device type',
            'device-model': 'Device model',
            'not-null': ' It cannot be empty',
            'special-character': 'It cannot contain special characters',
            'profile-length': 'It cannot be longer than 64 characters',
            'add-success': 'Added successfullly',
            'exist': 'Device model already exists',
            'delete-confirm': 'Are you sure you want to delete this device model?',
            'delete-repeal': '${common.undo}'
        },
        <!--system-config-js-->
        system: {
            config: {
                'delete-info': 'Are you sure you want to delete this entry?',
                'edit-info': 'Are you sure you want to cancel the current edit?',
                'cancel-edit': 'All current operations will not be saved!',
                'memo-must': 'Please enter a simple note',
                'memo-length': 'Simple note must be between 4-10 characters',
                'ip-inValid': 'Invalid IP address',
                'mask-inValid': 'Subnet mask is invalid',
                'param-not-null': 'It cannot be empty',
                'url-inValid': 'Invalid URL',
                'parseInt': 'Integers only',
                'parseFloat': 'Floating point numbers only',
                'error': 'error',
                'save-success': 'Saved successfully',
                'eye-show': 'It will make the password characters visible, are you sure you want to display them?'
            }
        },
        <!--third-app-js-->
        third: {
            app: {
                'id-exists': 'The code already exists',
                'name-exists': 'The name already exists',
                'id-not-null': 'It cannot be empty',
                'code-special-character': 'Code cannot contain special characters',
                'id-length': 'It cannot be longer than 32 characters',
                'name-not-null': 'It cannot be empty',
                'special-character': 'It cannot contain special characters.',
                'name-length': 'It cannot be longer than 64 characters',
                'add-success': 'Added successully',
                'delete-info': 'Are you sure to delete the app?',
                'delete-info-end': '？',
                'delete-warn': '${common.undo}'
            }
        },
        <!--user-list-js-->
        user: {
            list: {
                'value-exists': 'The login name already exists',
                'value-not-null': 'It cannot be empty',
                'length-error': 'It cannot be longer than 32 characters',
                'value-special-character': 'It cannot contain special characters.',
                'password-length': 'Password must be 6-16 digits long',
                'password-mismatching': 'The two passwords entered do not match',
                'edit-success': 'Editted successfully',
                'add-success': 'Added successfully',
                'delete-info': 'Are you sure to delete this user?',
                'delete-warn': '${common.undo}',
                'password-enter': 'Please enter the current user password',
                'new-password-enter': 'Please enter a new password',
                'reset-success': 'Password reset successfully!'
            }
        },
        pagination:{label:'Total ${page-no}/${total-page} pages, ${page-size} rows/page'},
    };
}